Today's data center networks (DCN) are continuously evolving because of two major factors: (1) architectural upgrade, such as network topology expansion and new server deployment, driven by increasing application demand; and (2) the dynamics introduced by services running on the top, like traffic patterns changes and application evolutions. This is especially the case in cloud environments with virtualized infrastructures, where users continuously join and leave the system and client instances (i.e., virtual machines) are dynamically created and terminated. Driven by this trend, highly scalable and efficient DCN architectures have been developed.
Some of these DCN architectures have achieved high-bandwidth all-to-all connectivity (or 1:1 over-subscription), appealing scalability, ideal agility, and desirable topology flexibility. However, these architectures require fundamental changes in today's network architectures and/or modifications of hardware equipment, and therefore, encounter nontrivial deployment barriers and may require time to be widely adopted. In contrast, another class of architectures, such as TVMPP (Traffic-aware VM Placement Problem), CPA (Coupled Placement Advisor), and RAP (Resource Allocation Problem), maintain the existing network architecture and routing protocol, but instead, aim at reducing network bandwidth demand by optimizing placement of end-nodes, which can be physical or virtual machines.
The aforementioned placement optimization approaches are capable of generating a single solution that is considered optimal, however, optimal solutions are generally not unique. In modern data centers or enterprise networks, where homogeneous computing and network resources are widely deployed, it is very common that a large number of equally-optimal solutions exist. However, the transition cost from a current configuration to one of these target configuration is significantly different. To better understand this, consider FIG. 1 as a simplistic example. In FIG. 1, two applications App1 and App2 are deployed in a two-level tree network. Clearly, the initial placement (left) of the two applications is sub-optimal, since traffic between (B1, C1) and (B2, D2) has to cross subnets. Two equally-optimal solutions are given on the right, in both of which components belonging to the same application are placed in the same subnet, thereby eliminating inter-subnet traffic. The cost, however, of transition from the initial to the target placement defined by the two solutions is significantly different. Specifically, solution 1 involves only two virtual machine (VM) migrations (i.e., D2 and C1), while solution 2 requires five VM migrations. Besides optimality, DCN operators are also concerned with practical factors including, without limitation, cost, time, and administrative considerations.
Accordingly, a method and system are needed for allowing DCN operators to select a reasonable placement solution from a plurality of placement solutions based on their preferences.